/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.manager;

import br.com.deployment.entidade.registroimovel.Folha;
import br.com.deployment.entidade.registroimovel.Livro;
import br.com.deployment.message.Msg;
import br.com.deployment.servico.FolhaServico;
import br.com.deployment.servico.LivroServico;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author elyjr
 */
@ManagedBean
@ViewScoped
public class ManagerLivros implements Serializable{

    @EJB
    LivroServico livroServico;
    @EJB
    FolhaServico folhaServico;
    private Livro livro;
    private Folha folha;
    private List<Folha> folhas;
    private Integer qtd;

    public ManagerLivros() {
    }

    @PostConstruct
    public void init() {
        livro = new Livro();
        folhas = new ArrayList<Folha>();
        folha = new Folha();

    }

    public void reinit() {
        livro = new Livro();
        qtd = new Integer(0);
    }

    public void salvar() {

        livro.setFolhas(lstFolhas(livro));
        livroServico.salvar(livro);
        reinit();
        Msg.messagemInfo("Salvo com Sucesso !");

    }

    public List<Folha> lstFolhas(Livro livro) {
        List<Folha> folhas = new ArrayList<Folha>();
        for (int i = 1; i <= qtd; i++) {
            Folha f = new Folha();
            f.setNumero(i);
            f.setLivro(livro);
            folhas.add(f);
        }

        return folhas;
    }

    public List<Livro> completeLivro(String query) {
        List<Livro> bd = new ArrayList<Livro>();

        Livro livroAC = new Livro();
        livroAC.setTitulo(query);
        bd = livroServico.findLivro(livroAC, 10);
        return bd;
    }
    
    public Livro getLivro() {
        return livro;
    }

    public void setLivro(Livro livro) {
        this.livro = livro;
    }

    public Folha getFolha() {
        return folha;
    }

    public void setFolha(Folha folha) {
        this.folha = folha;
    }

    public Integer getQtd() {
        return qtd;
    }

    public void setQtd(Integer qtd) {
        this.qtd = qtd;
    }
}
